import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @description:
 * @author: shuai.chen@shuyun.com
 * @date: 2023/2/8 2:28 PM
 */
public class PrintNum {

    @Test
    public void test01() {
        int[] res = printNumbers(2);
        System.out.println(Arrays.toString(res));
    }

    public int[] printNumbers(int n) {
        if (n <= 0) {
            return new int[0];
        }

        // 先求最大数
        // 1   9 = 0 * 10 + 9
        // 2   99 = 9 * 10 + 9
        // 3   999 = 99 * 10 + 9
        // 4  9999 = 999 * 10 + 9
        int max = 0;
        for (int i = 0; i < n; i++) {
            max = max * 10 + 9;
        }

        // 再遍历最大数进行添加
        int[] res = new int[max];
        for (int i = 1; i <= max; i++) {
            res[i-1] = i;
        }

        return res;
    }

    // 分析下，这道题，没有考虑大数，考虑大数的话，int就不能存储了
    // 在分析这道题时，想着转为 字符串
    /*
        1位
        1 2 3 4 5 6 7 8 9

        2位
        01 02 ... 09
        11 12 ... 99

        3位
        001 002 ... 009
        011 012 ... 099
        100 101 ... 999
     */


}
